<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class ReservaM extends CI_Model {

    public function __construct() {
        $this->load->database();
    }

    public function crearNuevaReserva($idCliente, $desde, $hasta, $cantidadPersona, $seguroHotelero, $idAgencia, $confirmada) {
        if ($idAgencia == "") {
            $idAgencia = 'NULL';
        }
        $query = "INSERT INTO reserva(id_cliente, fecha_creacion,estatus,nota,fecha_ingreso,fecha_salida,total_a_pagar,impuesto,total_alojamiento,usuario_creacion,numero_personas,id_establecimiento,ingresos,id_agencia,confirmada) VALUES('$idCliente',DATE_ADD(now(), INTERVAL -5 HOUR),'provisional','','$desde','$hasta','$seguroHotelero','0','0','" . $_SESSION["usuario"]["id_usuario"] . "','$cantidadPersona','" . $_SESSION["establecimiento"]["id_establecimiento"] . "','0',$idAgencia,'$confirmada')";
        return $this->db->query($query);
    }

    public function consultarReservas($desde, $desde2, $hasta, $hasta2) {
        $query = "SELECT r.id_reserva, r.fecha_ingreso, r.fecha_salida, r.estatus,r.total_a_pagar,r.ingresos, r.usuario_creacion, r.usuario_cancelacion,r.nota,r.confirmada, rc.id_cuarto,c.nombre, c.primer_apellido,c.segundo_apellido,c.telefono,r.checkin_realizado,r.checkout_realizado,r.impuesto,r.id_agencia FROM reserva r,reserva_x_cuarto rc,cliente c WHERE r.id_reserva=rc.id_reserva AND r.id_cliente=c.id_cliente AND (((r.fecha_ingreso between  '$desde' AND '$hasta2') OR (r.fecha_salida  between  '$desde2' AND '$hasta')) OR (r.fecha_ingreso<'$desde' && r.fecha_salida>'$hasta'))  AND r.estatus<>'cancelada' AND r.id_establecimiento='" . $_SESSION["establecimiento"]["id_establecimiento"] . "' order by r.fecha_ingreso,r.fecha_salida ";
        return $this->db->query($query)->result();
    }

    public function consultarHabitacionesBloqueadas($desde, $desde2, $hasta, $hasta2) {
        $query = "SELECT r.id_reserva, r.fecha_ingreso, r.fecha_salida, r.estatus,r.nota,rc.id_cuarto FROM reserva r, reserva_x_cuarto rc WHERE r.estatus='bloqueado' AND r.id_reserva=rc.id_reserva AND (((r.fecha_ingreso between  '$desde' AND '$hasta2') OR (r.fecha_salida  between  '$desde2' AND '$hasta')) OR (r.fecha_ingreso<'$desde' && r.fecha_salida>'$hasta'))  AND r.estatus<>'cancelada' AND r.id_establecimiento='" . $_SESSION["establecimiento"]["id_establecimiento"] . "'";
        return $this->db->query($query)->result();
    }

    public function consultarReservasPorID($idreserva) {
        $query = "SELECT * FROM reserva r,cliente c WHERE r.id_reserva='$idreserva' AND r.id_cliente=c.id_cliente";
        return $this->db->query($query)->result();
    }

    public function esMiReserva($idReserva, $idEstablecimiento) {
        $query = "SELECT count(*) cantidad FROM reserva where id_reserva='$idReserva' AND id_establecimiento='$idEstablecimiento' AND estatus<>'cancelada'";
        return $this->db->query($query)->result();
    }

    public function guardarNota($nota, $idReserva) {
        $query = "UPDATE reserva set nota='$nota' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function actualizarIngresoSalidaCantidadPersonas($ingreso, $salida, $cantidadPersonas, $idReserva) {
        $query = "UPDATE reserva set fecha_ingreso='$ingreso',fecha_salida='$salida',numero_personas='$cantidadPersonas' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function atualizarQuienPaga($idCliente, $idReserva) {
        $query = "UPDATE reserva set id_cliente='$idCliente' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function obtenerDatos($datos, $idReserva) {
        $query = "SELECT $datos FROM reserva where id_reserva='$idReserva'";
        return $this->db->query($query)->result();
    }

    public function actulizarImpuesto($impuesto, $idReserva) {
        $query = "UPDATE reserva set impuesto='$impuesto' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function hacerCheckin($idReserva, $usuario) {
        $query = "UPDATE reserva set checkin_realizado='1',fecha_check_in=DATE_ADD(now(), INTERVAL -5 HOUR),usuario_check_in='$usuario',confirmada='1' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function hacerCheckout($idReserva, $usuario) {
        $query = "UPDATE reserva set estatus='fin',checkout_realizado='1',fecha_check_out=DATE_ADD(now(), INTERVAL -5 HOUR), usuario_check_out='$usuario' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function eliminarReserva($idReserva, $usuario) {
        $query = "DELETE from reserva where id_reserva='$idReserva' AND id_establecimiento='{$_SESSION["establecimiento"]["id_establecimiento"]}'";
        return $this->db->query($query);
    }

    public function actualizarEstatus($idReserva) {
        $this->load->model('reservam');
        $this->load->model('ingreso_reservam');
        $this->load->model('tarifa_x_diam');
        $this->load->model('venta_producto_serviciom');
        $this->load->model('ajustem');

        $detallesBasicos = $this->reservam->detallesBasicos($idReserva);
        $ingresos = $this->ingreso_reservam->obtenerIngresos($idReserva);
        $costoHospedajeSinImp = $this->tarifa_x_diam->obtenerCostosHospedaje($idReserva);
        $totalConsumos = $this->venta_producto_serviciom->obtenerTotalConsumos($idReserva);
        $totalImpuestosConsumo = $this->venta_producto_serviciom->obtenerTotalImpuestosConsumos($idReserva);
        $ajustes = $this->ajustem->obtenerAjustes($idReserva);
        $total_pagar = (float) ($detallesBasicos[0]->impuesto + $costoHospedajeSinImp[0]->totalHospedaje + $totalConsumos[0]->totalConsumos + $totalImpuestosConsumo[0]->totalImpuestosConsumo + $ajustes[0]->totalAjuste);
        $ingresos = $ingresos[0]->totalIngreso;
        $pendiente = $total_pagar - $ingresos;

        $estatus = "";
        if ($ingresos == 0) {
            $estatus = "provisional";
        }
        if ($ingresos != 0 && $pendiente > 0) {
            $estatus = "parcial";
        } else if ($pendiente <= 0) {
            $estatus = "completo";
        }
        $query = "UPDATE reserva SET estatus='$estatus' where estatus<>'fin' and id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function quitarTotalHospedaje($idReserva) {
        $query = "UPDATE reserva SET total_a_pagar=total_a_pagar-total_alojamiento-impuesto where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function quitarImpuestoAlTotalPagar($idReserva) {
        $query = "UPDATE reserva SET total_a_pagar=total_a_pagar-impuesto where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function actualizarTotalPagar($pagar, $idReserva) {
        $query = "UPDATE reserva SET total_a_pagar=total_a_pagar+'$pagar' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function actualizarIngreso($ingreso, $idReserva) {
        $query = "UPDATE reserva SET ingresos=ingresos+'$ingreso' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function descontarVenta($valorVenta, $idReserva) {
        $query = "UPDATE reserva SET total_a_pagar=total_a_pagar-'$valorVenta' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function actualizarTotalHospedaje($valorTotalHospedaje, $idReserva) {
        $query = "UPDATE reserva SET total_alojamiento='$valorTotalHospedaje' where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function verificarFechas($desde, $desde2, $hasta, $hasta2, $idHabitacion, $idReserva) {
        $query = "SELECT count(*) cantidad 
            from reserva r,reserva_x_cuarto rc  
            WHERE r.id_reserva=rc.id_reserva 
            AND ((((r.fecha_ingreso between  '$desde' AND '$hasta2' AND r.fecha_ingreso <> r.fecha_salida) 
                 OR (r.fecha_salida  between  '$desde2' AND '$hasta'  AND r.fecha_ingreso <> r.fecha_salida ) ) )
                 OR (r.fecha_ingreso < '$desde' AND r.fecha_salida > '$hasta') 
                 OR (r.fecha_ingreso > '$desde' AND r.fecha_salida < '$hasta')
                  )
          AND r.estatus<>'cancelada' AND rc.id_cuarto='$idHabitacion' 
          AND r.id_reserva<>'$idReserva' 
          AND r.id_establecimiento='" . $_SESSION["establecimiento"]["id_establecimiento"] . "'";
        //echo $query;
        return $this->db->query($query)->result();
    }

    public function bloquearHabitacion($desde, $hasta, $nota) {
        $query = "INSERT INTO reserva(fecha_creacion,estatus,fecha_ingreso,fecha_salida,nota,usuario_creacion,id_establecimiento) VALUES(DATE_ADD(now(), INTERVAL -5 HOUR),'bloqueado','$desde','$hasta','$nota','" . $_SESSION["usuario"]["id_usuario"] . "','" . $_SESSION["establecimiento"]["id_establecimiento"] . "')";
        $this->db->query($query);
    }

    public function obtenerTitular($idreserva) {//Obtener el titular si no es huesped
        $query = "Select c.* from cliente c, reserva r where r.id_cliente=c.id_cliente AND r.id_reserva=$idreserva";
        // echo $query;
        return $this->db->query($query)->result();
    }

    public function deshacerCheckin($idReserva) {//Obtener el titular si no es huesped
        $query = "UPDATE reserva SET checkin_realizado=NULL,fecha_check_in=NULL,usuario_check_in=NULL  where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function deshacerCheckout($idReserva) {//Obtener el titular si no es huesped
        $datos = $this->obtenerDatos("total_a_pagar,ingresos,impuesto", $idReserva);
        $deuda = $datos[0]->total_a_pagar + $datos[0]->impuesto - $datos[0]->ingresos;
        $estatus = "";
        if ($datos[0]->ingresos == 0) {
            $estatus = "provisional";
        }
        if ($datos[0]->ingresos != 0 && $deuda > 0) {
            $estatus = "parcial";
        } else if ($deuda <= 0) {
            $estatus = "completo";
        }
        $query = "UPDATE reserva SET  estatus='$estatus',checkout_realizado=NULL,fecha_check_out=NULL,usuario_check_out=NULL  where id_reserva='$idReserva'";
        return $this->db->query($query);
    }

    public function detallesBasicos($idReserva) {
        /* $query = "select c.nombre nombreCuarto,ca.nombre nombreCategoria,r.estatus,r.fecha_ingreso,r.fecha_salida, r.checkin_realizado, r.checkout_realizado,r.total_alojamiento from 
          reserva_x_cuarto rc,
          cuarto c,
          categoria ca,
          reserva r
          where r.id_reserva='$idReserva'
          AND   rc.id_reserva=r.id_reserva
          AND rc.id_cuarto=c.id_cuarto
          AND c.id_categoria=ca.id_categoria"; */
        $query = "SELECT  c.nombre nombreCuarto, c.id_cuarto,
                ca.nombre nombreCategoria,ca.id_categoria,ca.capacidad_estandar,ca.capacidad_adicional,
                r.*,ag.nombre nombre_agencia,ag.tipo tipo_agencia
                from reserva_x_cuarto rc
                join  	cuarto c on
                	rc.id_cuarto=c.id_cuarto
                join 	categoria ca on
                        ca.id_categoria=c.id_categoria
                join 	reserva r on
                        r.id_reserva=rc.id_reserva
                left join agencia ag on
                    r.id_agencia=ag.id_agencia
                 where r.id_reserva='$idReserva'";
        return $this->db->query($query)->result();
    }

    public function resPenPago($idEstablecimiento, $filasPorPagina, $inicio, $criterios) {
        $query = "Select  r.*,COALESCE(r.total_a_pagar,0) total_a_pagar, c.nombre nombre_cuarto, ca.nombre nombre_categoria, cli.nombre nombre_cliente,cli.primer_apellido primer_apellido,cli.segundo_apellido segundo_apellido from reserva r, reserva_x_cuarto rc, cuarto c,categoria ca, cliente cli where cli.id_cliente=r.id_cliente and r.id_reserva=rc.id_reserva and rc.id_cuarto=c.id_cuarto and c.id_categoria=ca.id_categoria and ((r.total_a_pagar - r.ingresos) > 0 or r.ingresos is null)  AND r.estatus <>'bloqueado' and r.id_establecimiento='$idEstablecimiento'";
        //$query.=(!empty($criterios['hasta'])) ? " AND date_format(vps.fecha,'%d/%m/%Y') <= '{$criterios['hasta']}'" : " ";
        $query.=(!empty($criterios['desde'])) ? " AND r.fecha_ingreso >= '{$criterios['desde']} 00:00:00'" : " ";
        $query.=(!empty($criterios['hasta'])) ? " AND r.fecha_ingreso <= '{$criterios['hasta']} 23:59:59'" : " ";
        $query.=(!empty($criterios['check'])) ? " AND r.checkin_realizado ='1'" : " ";
        $query.=(!empty($criterios['checkout'])) ? " AND r.checkout_realizado ='1'" : " ";
        $query.=" order by r.fecha_ingreso DESC LIMIT $inicio,$filasPorPagina";
        return $this->db->query($query)->result();
    }

    public function cantidadResPenPago($idEstablecimiento, $criterios) {
        $query = "Select count(*) cantidad from reserva r, reserva_x_cuarto rc, cuarto c,categoria ca, cliente cli 
            where cli.id_cliente=r.id_cliente and r.id_reserva=rc.id_reserva and rc.id_cuarto=c.id_cuarto and c.id_categoria=ca.id_categoria and ((r.total_a_pagar - r.ingresos) > 0 or r.ingresos is null)  AND r.estatus <>'bloqueado' and r.id_establecimiento='$idEstablecimiento'";
        $query.=(!empty($criterios['desde'])) ? " AND r.fecha_ingreso >= '{$criterios['desde']} 00:00:00'" : " ";
        $query.=(!empty($criterios['hasta'])) ? " AND r.fecha_ingreso <= '{$criterios['hasta']} 23:59:59'" : " ";
        $query.=(!empty($criterios['check'])) ? " AND r.checkin_realizado ='1'" : " ";
        $query.=(!empty($criterios['checkout'])) ? " AND r.checkout_realizado ='1'" : " ";
        return $this->db->query($query)->result();
    }

    public function obtenerAjustes($idReserva) {
        $query = "SELECT  COALESCE(SUM(valor),0) totalAjuste from ajuste WHERE id_reserva='$idReserva'";
        return $this->db->query($query)->result();
    }

    public function ingresosporpersona($idCliente) {
        $query = "SELECT  COALESCE(SUM(r.ingresos),0) cantidad from reserva r,cliente_x_reserva cr  WHERE cr.id_cliente='$idCliente' and cr.id_reserva=r.id_reserva and cr.id_establecimiento='{$_SESSION["establecimiento"]["id_establecimiento"]}'";
        //  echo $query;
        return $this->db->query($query)->result();
    }

    public function obtenerTodasLasReservas($idEstablecimiento, $criterios) {
        $query = "Select  r.*  from reserva r  where ((r.total_a_pagar - r.ingresos) > 0 or r.ingresos is null)  AND r.estatus <>'bloqueado' and r.id_establecimiento='$idEstablecimiento'";
        //$query.=(!empty($criterios['hasta'])) ? " AND date_format(vps.fecha,'%d/%m/%Y') <= '{$criterios['hasta']}'" : " ";
        $query.=(!empty($criterios['desde'])) ? " AND r.fecha_ingreso >= '{$criterios['desde']} 00:00:00'" : " ";
        $query.=(!empty($criterios['hasta'])) ? " AND r.fecha_ingreso <= '{$criterios['hasta']} 23:59:59'" : " ";
        $query.=(!empty($criterios['check'])) ? " AND r.checkin_realizado ='1'" : " ";
        //  echo $query;
        return $this->db->query($query)->result();
    }

    public function reservasPenIngreso($idEstablecimiento, $fecha) {
        $query = "select cat.nombre nombre_categoria,cu.nombre nombre_habitacion,r.numero_personas,r.nota,r.id_reserva,c.nombre,c.primer_apellido,c.segundo_apellido from reserva r,cuarto cu, categoria cat, reserva_x_cuarto rc, cliente c  where rc.id_reserva=r.id_reserva and rc.id_cuarto=cu.id_cuarto and cu.id_categoria=cat.id_categoria and  r.id_cliente=c.id_cliente and  checkin_realizado is null and r.fecha_ingreso='$fecha' and r.id_establecimiento='$idEstablecimiento'";
        //  echo $query;
        return $this->db->query($query)->result();
    }

    public function reservasIngresaron($idEstablecimiento, $fecha) {
        $query = "select cat.nombre nombre_categoria,cu.nombre nombre_habitacion,r.numero_personas,r.nota,r.id_reserva,c.nombre,c.primer_apellido,c.segundo_apellido from reserva r,cuarto cu, categoria cat, reserva_x_cuarto rc, cliente c  where rc.id_reserva=r.id_reserva and rc.id_cuarto=cu.id_cuarto and cu.id_categoria=cat.id_categoria and  r.id_cliente=c.id_cliente and  checkin_realizado=1 and r.fecha_ingreso='$fecha' and r.id_establecimiento='$idEstablecimiento'";
        //  echo $query;
        return $this->db->query($query)->result();
    }

    public function habitacionesOcupadas($idEstablecimiento, $fecha) {
        $query = "select cat.nombre nombre_categoria,cu.nombre nombre_habitacion,r.numero_personas,r.nota,r.id_reserva,c.nombre,c.primer_apellido,c.segundo_apellido from reserva r,cuarto cu, categoria cat, reserva_x_cuarto rc, cliente c  where rc.id_reserva=r.id_reserva and rc.id_cuarto=cu.id_cuarto and cu.id_categoria=cat.id_categoria and  r.id_cliente=c.id_cliente and  checkin_realizado=1 and r.fecha_ingreso<='$fecha' and  r.fecha_salida>='$fecha'  and r.estatus<>'fin' and r.id_establecimiento='$idEstablecimiento'";
        //  echo $query;
        return $this->db->query($query)->result();
    }

    public function getHabitacionesDisponibles($establecimiento, $fecha) {
        $query = "SELECT cat.nombre as nombre_categoria, c.nombre  as nombre_habitacion  FROM cuarto c,categoria cat
WHERE c.id_cuarto NOT IN
(SELECT rc.id_cuarto
	FROM reserva_x_cuarto rc, reserva r 
	WHERE r.id_reserva=rc.id_reserva
	AND r.estatus NOT IN('fin')
        AND r.id_establecimiento='$establecimiento'
        AND ('$fecha' BETWEEN r.fecha_ingreso AND r.fecha_salida)
)  AND c.id_categoria=cat.id_categoria
AND cat.id_establecimiento='$establecimiento' AND cat.eliminado=0  AND c.eliminado=0
ORDER BY cat.nombre, c.nombre";
        return $this->db->query($query)->result();
    }

    public function reservasPendientesSalir($idEstablecimiento, $fecha) {
        $query = "select cat.nombre nombre_categoria,cu.nombre nombre_habitacion,r.numero_personas,r.nota,r.id_reserva,c.nombre,c.primer_apellido,c.segundo_apellido from reserva r,cuarto cu, categoria cat, reserva_x_cuarto rc, cliente c  where rc.id_reserva=r.id_reserva and rc.id_cuarto=cu.id_cuarto and cu.id_categoria=cat.id_categoria and  r.id_cliente=c.id_cliente and  checkout_realizado is null and   r.fecha_salida='$fecha' and r.id_establecimiento='$idEstablecimiento'";
        //  echo $query;
        return $this->db->query($query)->result();
    }

    public function reservasQueSalieron($idEstablecimiento, $fecha) {
        $query = "select cat.nombre nombre_categoria,cu.nombre nombre_habitacion,r.numero_personas,r.nota,r.id_reserva,c.nombre,c.primer_apellido,c.segundo_apellido from reserva r,cuarto cu, categoria cat, reserva_x_cuarto rc, cliente c  where rc.id_reserva=r.id_reserva and rc.id_cuarto=cu.id_cuarto and cu.id_categoria=cat.id_categoria and  r.id_cliente=c.id_cliente and  checkout_realizado=1 and  r.fecha_salida='$fecha' and r.id_establecimiento='$idEstablecimiento'";
        //  echo $query;
        return $this->db->query($query)->result();
    }

    public function reservasCreadas($idEstablecimiento, $fecha) {
        $query = "select cat.nombre nombre_categoria,cu.nombre nombre_habitacion,r.numero_personas,r.nota,r.id_reserva,c.nombre,c.primer_apellido,c.segundo_apellido from reserva r,cuarto cu, categoria cat, reserva_x_cuarto rc, cliente c  where rc.id_reserva=r.id_reserva and rc.id_cuarto=cu.id_cuarto and cu.id_categoria=cat.id_categoria and  r.id_cliente=c.id_cliente and   r.fecha_creacion >='$fecha 00:00:00' and  r.fecha_creacion <='$fecha 23:59:59'and r.id_establecimiento='$idEstablecimiento'";
        //  echo $query;
        return $this->db->query($query)->result();
    }

    public function detallesReserva($idReserva, $idEstablecimiento) {
        $query = "select r.*,c.nombre nombre_cliente,c.primer_apellido,c.segundo_apellido,c.identificacion,c.email,c.telefono,c.id_pais,c.direccion  from reserva r,cliente c where  r.id_cliente=c.id_cliente and r.id_reserva='$idReserva' and r.id_establecimiento='$idEstablecimiento'";
        // echo $query;
        return $this->db->query($query)->result();
    }

    public function setNumerofactura($idReserva, $numeroFactura) {
        $query = "update reserva set numero_factura='$numeroFactura' where id_reserva='$idReserva'";
        // echo $query;
        return $this->db->query($query);
    }

    public function cantidadReservas($idEstablecimiento, $criterios) {
        $query = "SELECT count(*) cantidad 
                 FROM reserva r,reserva_x_cuarto rc  WHERE 
                  r.id_reserva=rc.id_reserva AND
                 r.id_establecimiento='$idEstablecimiento' AND
                 r.estatus <> 'bloqueado'";
        $query.=(!empty($criterios['habitacion'])) ? " AND rc.id_cuarto = '{$criterios['habitacion']}'" : " ";
        $query.=(!empty($criterios['desde'])) ? " AND r.fecha_ingreso >= '{$criterios['desde']}'" : " ";
        $query.=(!empty($criterios['hasta'])) ? " AND r.fecha_ingreso <= '{$criterios['hasta']}'" : " ";
        return $this->db->query($query)->result();
    }

    public function reservas($idEstablecimiento, $filasPorPagina, $inicio, $criterios) {
        $query = "SELECT r.*,c.nombre nobre_cuarto,ca.nombre nombre_categoria,cl.identificacion, cl.nombre nombre_titular, cl.primer_apellido, cl.segundo_apellido,cl.telefono,cl.email,cl.ocupacion,cl.direccion,cl.id_pais
                 FROM reserva r,reserva_x_cuarto rc,cuarto c,categoria ca,cliente cl  WHERE 
                 r.id_reserva=rc.id_reserva AND
                 c.id_cuarto=rc.id_cuarto AND
                 ca.id_categoria=c.id_categoria AND
                 cl.id_cliente=r.id_cliente AND
                 r.id_establecimiento='$idEstablecimiento' AND
                 r.estatus <> 'bloqueado'";
        $query.=(!empty($criterios['habitacion'])) ? " AND rc.id_cuarto = '{$criterios['habitacion']}'" : " ";
        $query.=(!empty($criterios['desde'])) ? " AND r.fecha_ingreso >= '{$criterios['desde']}'" : " ";
        $query.=(!empty($criterios['hasta'])) ? " AND r.fecha_ingreso <= '{$criterios['hasta']}'" : " ";
        $query.=" order by r.fecha_ingreso ASC LIMIT $inicio,$filasPorPagina";
        return $this->db->query($query)->result();
    }

    public function cambiarAgencia($idReserva, $idAgencia) {
        $query = "UPDATE reserva set id_agencia='$idAgencia' where id_reserva='$idReserva'";
        $this->db->query($query);
    }

    public function setConfirmada($idReserva) {
        $query = "UPDATE reserva set confirmada='1' where id_reserva='$idReserva'";
        $this->db->query($query);
    }

    public function setProvisional($idReserva) {
        $query = "UPDATE reserva set confirmada='0' where id_reserva='$idReserva'";
        $this->db->query($query);
    }

}